#include "topcvt_pack.hpp"
#include "iso8583_helper.hpp"

namespace topcvt
{
	class ISO8583Pack : public PackImp
	{
		unsigned char m_bitmap[ISO8583_BITMAP_LEN + 1];
		vector<string> m_fldList;
	public:
		ISO8583Pack();
		void checkElementCfgValid(AttributeableCfg& t) override;
		string packPolicy(PolicyContext& policyContext, PolicyCfg& policyCfg) override;
		void packField(pugi::xml_node& node, FieldCfg& f, PolicyContext& ctx) override;
	private:
		void setBitMap(int nFldNo);
	};
};